package genetic.core;

/**
 * Genetic algorithm constant holder.
 * 
 * @author vasek
 *
 */
public final class GeneticAlgorithmConstants {

	/**
	 * Hidden constructor.
	 */
	private GeneticAlgorithmConstants() {
	}
	
	/**
	 * Mutation probability.
	 */
	public static final double MUTATION_PROBABILITY = 0.05;
	
	/**
	 * Crossover probability.
	 */
	public static final double CROSSOVER_PROBABILITY = 0.1;
	
	/**
	 * How many individuals are treat as elite.
	 */
	public static final int ELITISM = 10;
	
	/**
	 * How many individuals are being picked in selection policies.
	 */
	public static final int SELECTION_PRESSURE = 10;
	
	/**
	 * How large is population.
	 */
	public static final int POPULATION_SIZE = 500;
	
	/**
	 * How many iterations - generations evolved.
	 */
	public static final int MAX_GENERATIONS = 5000;
	
	/**
	 * Whether to use breed monitor.
	 */
	public static final boolean BREED_MONITOR = true;
}
